草庐IT

python - 识别 Windows 版本

全部标签

Ruby 等价于 Python 的 for/else

我一直在寻找类似Python的while/else结构的东西来改进我的代码。这意味着循环被执行,如果循环中的条件在任何时候都不为真,那么它返回else语句中的值。在ruby中,我可以这样做:if@items.empty?"Empty"else@items.eachdo|item|itemendend那么有什么办法可以改善吗?提前谢谢你。 最佳答案 请记住,迭代器block会返回您放入其中的内容,可以对其进行测试以供进一步使用。ifarr.eachdo|item|item.some_action(some_arg)end.empty?

Windows 上的 ruby​​ 1.9 ri 对任何类一无所知

我使用的是WindowsXPSP2,并通过Ruby1.9一键安装程序安装了Ruby。然后当我尝试使用ri时,我得到以下响应,有人可以帮我解决我的问题吗?C:\DocumentsandSettings\eyang>ruby--versionruby1.9.1p243(2009-07-16revision24175)[i386-mingw32]C:\DocumentsandSettings\eyang>ri--versionri2.2.2C:\DocumentsandSettings\eyang>riStringUpdatingclasscachewith0classes...Nothin

ruby - better_errors 要求 Ruby 版本 >= 2.0.0

Bundle无法安装better_errors。Gem::InstallError:better_errorsrequiresRubyversion>=2.0.0.Anerroroccurredwhileinstallingbetter_errors(2.0.0),andBundlercannotcontinue.Makesurethat`geminstallbetter_errors-v'2.0.0'`succeedsbeforebundling.但是geminstallbetter_errors工作正常。ruby--version表示ruby2.0.0p353(2013-11-22

ruby - 在 Windows 上为 Jekyll 安装 native Ruby 扩展

我快要发疯了,所以我只想问:你到底是怎么在Windows上安装RubyGemJekyll的。Jekyll依赖于fast-stemmer-1.0.0并且必须构建为native扩展我在RubyDevKit上找到了这个方便的指南在Windows上安装一个“健全”的环境并且它可以工作,但是fast-stemmer仍然一心想使用nmake来构建二进制文件并返回以下错误:C:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC>geminstalljekyllTemporarilyenhancingPATHtoincludeDevKit...Buildin

ruby - 如何让 xcode 在运行脚本时使用正确版本的 ruby​​?

在xcode中,我有一个运行ruby​​脚本的“运行脚本”构建阶段。但是,似乎xcode正在尝试使用默认的mac1.8版本的ruby​​而不是最新版本来运行它。鉴于脚本需要一个gem,它失败并出现require错误并且错误中的路径指向/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/显然,该路径中的1.8让我产生了怀疑。如果我打开终端并运行命令ruby-v然后它会正确返回2.0.0p0我使用RVM安装并设置为默认值。如何让Xcode在正确的位置查找?还是我误解了这个错误?更新

ruby-on-rails - 更改 bundle 安装 Ruby 版本

我是Ruby/Rails的新手,如果这是一个微不足道的问题,请原谅我。每当我运行bundleinstall时,它都会在vendor/bundle/ruby/1.8中安装所有内容,而不是vendor/bundle/ruby/1.9.1,这是我正在使用的Ruby版本。当我运行ruby-v时,我得到了正确的1.9.1版本,但是bundleinstall出于某种原因坚持使用1.8,这导致了基本Rails功能的许多错误。如何指示bundle与1.9.1一起工作(最好删除任何Ruby1.8的踪迹)?谢谢!编辑:我已经做了一切this回答说,我没有得到1.8的踪迹再次编辑:好吧,它以某种方式工作。也

ruby-on-rails - 什么是 ruby​​ 相当于 python 的 getattr

我是Rails的新手,正在尝试进行一些重构(在app/views/shared中放置一个列出标题的部分渲染器)渲染器显示日期和标题。但是渲染器的不同用户使用不同的日期。通过重构,我有一部分title_date=list_titles.created_on对于我想要的渲染器的其他用户title_date=list_titles.updated_on那么我可以使用我传递的字符串吗(使用:locals参数)?我知道在Python中我可以做到date_wanted='created_on'title_date=getattr(list_titles,date_wanted)但我不知道如何在ru

ruby - 如何更改 ruby 版本

我的Ubuntu机器上安装了Ruby1.8和1.9。我刚刚从ppa:brightbox/ruby-ng-experimental安装了Ruby2.0.0来安装一个需要2.0.0的包。现在所有1.8、1.9和2.0都已安装,但我不能告诉bundle使用2.0:$bundleinstall$YourRubyversionis1.9.3,butyourGemfilespecified2.0.0RVM无法更改版本:$rvm2.0$ruby-2.0.0-p451isnotinstalled.$Toinstalldo:'rvminstallruby-2.0.0-p451'RBENV也不识别2.0:

ruby - 如何安装旧版本的 Jekyll?

我想安装Jekyll1.5.1版(在Mac上)。是否有可能做到这一点?我发现了一些关于能够降级的信息,但我很难相信没有办法只安装旧版本。谢谢! 最佳答案 您可以像这样在Gemfile中指定确切的版本:gem'jekyll','1.5.1'或者从命令行安装特定版本:geminstalljekyll-v1.5.1 关于ruby-如何安装旧版本的Jekyll?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

ruby-on-rails - Capistrano 不会创建版本

当我运行capdeploy时,Capistrano将尝试创建一个文件夹,例如$HOME/sites/MY_APP/releases/TIMESTAMP。我可以看到命令正在尝试运行,但它实际上不会创建文件夹。我可以直接从Capistrano输出中复制命令并通过SSH运行命令,它运行良好,没有任何问题。命令看起来是这样的:cp-RPp/home/some_user/sites/my_cool_app/shared/cached-copy/home/some_user/sites/my_cool_app/releases/20111123164239&&(echo59bf115868c243